home *** CD-ROM | disk | FTP | other *** search
Text File | 1999-05-18 | 3.1 KB | 122 lines | [TEXT/ttxt] |
- * Bob Beretta
- * Apple Computer
- * beretta@apple.com
- * 408-974-1051
-
- 000000000011111111112222222222333333333344444444445555555555666666666677777777778888888888999999999900000000001111111111222222222233
-
- XXX - Not complete yet!!!
-
- Name
-
- APPLE_specular_vector
-
- Name Strings
-
- GL_APPLE_specular_vector
-
- Version
-
- $Date: 1998/09/13 08:18:20 $ $Revision: 1.0 $
-
- Number
-
- 159
-
- Dependencies
-
- None
-
- Overview
-
- An alternative specular lighting model is enabled by passing
- the LIGHT_MODEL_SPECULAR_VECTOR token as the <pname> parameter
- to LightModel, and TRUE as the <param> parameter. The specular
- vector lighting model calculates the specular intensity as the
- dot product of the true reflection vector of the light source
- and the vector from the vertex to the viewpoint. This yields
- results that are visually similar to but often more realistic
- than the existing lighting model.
-
- Mathematically, the specular component s.n in the existing
- lighting model calculation is replaced with the following
- alternative calculation.
-
- Given three vectors, n, l, and p, where n is the unit normal
- vector at the vertex, l is the unit vector from the vertex to
- the light position, and p is the unit vector from the vertex
- to the viewpoint (or the vector {0,0,1} if
- LIGHT_MODEL_LOCAL_VIEWER is false), the specular component is
- given by
-
- (2 * cross(n, cross(n, l)) + l) . p
-
- All other lighting model and material parameters (shininess,
- spotlight, attenuation, local viewer, and direction/positional
- sources) operate normally. The specular vector lighting model
- affects both rgba and index modes.
-
- New Procedures and Functions
-
- None
-
- New Tokens
-
- Accepted by the <pname> parameters of LightModelf, LightModeli,
- LightModelfv, LightModeliv, GetBooleanv, GetDoublev, GetFloatv
- and GetIntegerv :
-
- LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0
-
- Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
-
- XXX - Not complete yet!!!
-
- Section 2.13.1, Lighting
- Table 2.7 should be appended to include:
- "S_bs boolean FALSE use specular vector lighting model"
-
- Equations 2.2 and 2.3 should be updated to reflect the modified
- h_i terms in the specular component, as described above.
-
- Section 2.13.2, Lighting Parameter Specification
- Table 2.8 should be appended to include:
- "S_bs LIGHT_MODEL_SPECULAR_VECTOR 1"
-
- Additions to Chapter 3 of the 1.1 Specification (Rasterization)
-
- None
-
- Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
- and the Frame Buffer)
-
- None
-
- Additions to Chapter 5 of the 1.1 Specification (Special Functions)
-
- None
-
- Additions to Chapter 6 of the 1.1 Specification (State and State Requests)
-
- Not done
-
- Additions to the GLX Specification
-
- GLX Protocol
-
- None
-
- Errors
-
- None
-
- New State
-
- Get Value Get Command Type Initial Value Attrib
- --------------------------------- ----------- ---- ------------- --------
- LIGHT_MODEL_SPECULAR_VECTOR_APPLE GetBooleanv B False lighting
-
- New Implementation Dependent State
-
- None
-